[% setvar title The Perl 6 Summary for the fortnight ending 2004-05-23 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary for the fortnight ending 2004-05-23'></a><h1>The Perl 6 Summary for the fortnight ending 2004-05-23</h1>
<p>Yes. I know. This week's summary is a week late. So it's a summary of
the last two weeks. So let's get straight to perl6-internals shall we?</p>
<a name='Working on the Perl 6 Compiler'></a><h2>Working on the Perl 6 Compiler</h2>
<p>Abhijit A. Mahabal posted his first ever patch, which updated the
calling conventions used in the Perl 6 Compiler. Dan applied it
promptly, and Allison Randal chimed in with some comments on the
workings of the perl 6 compiler. There's a new document, which you'll
find at <b><i>languages/perl6/doc/developer_notes.pod</i></b> in a CVS parrot,
which is a scratchpad for developers to make notes of any issues that
arise while they're working on the compiler.</p>
<p><a href='http://groups.google.com/groups?selm=Pine.LNX.4.58.0405051446080.25125@jughead.cs.indiana.edu' target='_blank'>groups.google.com</a></p>
<a name='Pants performing ponies'></a><h2>Pants performing ponies</h2>
<p>The issues that cropped up in the last summary to do with poor ponie
performance continued to exercise Leo Tötsch, Nicholas Clark and Jeff
Clites as they homed in on the Ponie bug that had led to ludicrous
numbers of PMCs being generated to no good end. It turns out that
Parrot's garbage collection doesn't go that fast when there's 9 million
live PMCs. Leo worked to improve things...</p>
<p><a href='http://groups.google.com/groups?selm=200405080801.i4881uR13546@thu8.leo.home' target='_blank'>groups.google.com</a></p>
<a name='MMD side effects'></a><h2>MMD side effects</h2>
<p>Leo pointed out some strangeness related to the new multiply dispatched
opcodes and proposed a solution. Warnock applies.</p>
<p><a href='http://groups.google.com/groups?selm=409F386C.6040700@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='The Parrot Question Repository'></a><h2>The Parrot Question Repository</h2>
<p>Dan announced that he was trying (slowly) to get things documented and
questions asked. Because questions to the list tend to get Warnocked or
asked repeatedly, he's set up a new central question repository on the
Parrot Wiki. He appealed for a volunteer to watch the list and add new
questions to the Wiki page and (a possibly different volunteer) to
watch the Wiki and post any answers back to the list. If such a
volunteer should step up to the plate, I would be inordinately grateful
if they could make a habit of commenting to any questions they
transplant to the Wiki to let people know that this has been done.</p>
<p><a href='http://groups.google.com/groups?selm=a06100507bcc5484f1123@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<p><a href='http://groups.google.com/groups?selm=http://www.vendian.org/parrot/wiki/bin/view.cgi/Main/HowDoIDo' target='_blank'>groups.google.com</a> --
Central Questions Point</p>
<a name='IO Opinions'></a><h2>IO Opinions</h2>
<p>Dan asked for opinions on how the IO system was going to work when it
came to dealing with record based files. Tim Bunce and Jeff Clites had
suggestions and questions.</p>
<p><a href='http://groups.google.com/groups?selm=20040510093459.GA32443@dansat.data-plan.com' target='_blank'>groups.google.com</a></p>
<a name='The &quot;Right Way Repository&quot;'></a><h2>The &quot;Right Way Repository&quot;</h2>
<p>Dan announced that he'd started an FAQ aimed at compiler writers
targetting parrot in <b><i>docs/compiler_faq.pod</i></b> in your local CVS
parrot. It's a bit sparse, but the proverb about mighty oaks and acorns
applies. We hope. Brent Royal-Gordon was first in with a question and
answer.</p>
<p><a href='http://groups.google.com/groups?selm=a0610050dbcc55af97118@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<a name='Towards a multiply dispatched parrot'></a><h2>Towards a multiply dispatched parrot</h2>
<p>Leo continued his work on switching over to a multi dispatched vtable
architecture and asked for comments on the work so far, and the sanity
of the whole concept. Dan was very positive, and the work continues.</p>
<p><a href='http://groups.google.com/groups?selm=409F693A.30608@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Cygwin'></a><h2>Cygwin</h2>
<p>Cygwin continues to be a fully paid up member of the awkward squad of
environments. Joshua Gatcomb pointed out that JIT had broken
again. He and Leo engaged in debugging by email as Leo worked to fix
things.</p>
<p><a href='http://groups.google.com/groups?selm=20040510142851.25802.qmail@web60806.mail.yahoo.com' target='_blank'>groups.google.com</a></p>
<a name='Perl 6 Parser weirdness'></a><h2>Perl 6 Parser weirdness</h2>
<p>Abhijit A. Mahabal had some problems with the Perl 6 compiler's parser
and asked for help. It looks like it's an issue with the load path
using relative paths, which makes it fragile when you're running in an
unexpected directory.</p>
<p>The discussion evolved into one on the nature of the (eventual) Perl 6
parser. Dan worried that a recursive descent parser will be awfully slow
compared to the current perl 5 parser. It looks like Perl 6 <i>won't</i>
have a recursive descent parser, but the conversation got rather beyond
my level of computer science (at least where parsers are
concerned). Larry said that he was in favour of a hybrid parser which
used both top down and bottom up parsing techniques.</p>
<p>Dan suggested that since Larry has been &quot;itching to get into the
internals anyway, [the parser]'d be a good place to start.&quot;</p>
<p><a href='http://groups.google.com/groups?selm=Pine.LNX.4.58.0405082236060.15595@jughead.cs.indiana.edu' target='_blank'>groups.google.com</a></p>
<a name='Event design sketch'></a><h2>Event design sketch</h2>
<p>Discussion of Dan's event design sketch continued. Gordon Henriksen was
worried that the events system as sketched wouldn't work well with GUI
type events. Rocco Caputo pointed out issues with Daylight Saving for
timed events. Leo asked for a glossary.</p>
<p>And those are just the items that caught my eye as I went into speed
skim mode.</p>
<p><a href='http://groups.google.com/groups?selm=a06100519bcc6a4021201@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<a name='PARROT_API, compiler and linker flags'></a><h2>PARROT_API, compiler and linker flags</h2>
<p>Ron Blaschke has been working on getting Parrot's linker magic right;
and he presented his findings and warned us that he intended to go
ahead and implement something based on them unless there were
substantive objections. There weren't any objections as such, but there
were an awful lot of issues raised (in case you didn't already know,
cross platform compatibility is Hard).</p>
<p><a href='http://groups.google.com/groups?selm=yeamc5vwjcy4.bx90p9hnpzb$.dlg@40tude.net' target='_blank'>groups.google.com</a></p>
<a name='Events and names'></a><h2>Events and names</h2>
<p>In response to the discussion of his initial sketch, Dan said that he
thought that 'event' might be the wrong word for what he was
working. 'Event' fits the bill in some places, but not in others. He
asked for suggestions in case someone had a better name. Tim Bunce
suggested 'hap', which met with some approval. James Mastros suggested
'page'. Andy Wardley reckoned 'Parcel' might fit the bill. I don't think
any of the suggestions got massive approval.</p>
<p><a href='http://groups.google.com/groups?selm=a06100504bcc7f9cafcc4@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<a name='New version of parrotbug'></a><h2>New version of parrotbug</h2>
<p>Jerome Quelin announced a new version of parrotbug for reporting bugs
in parrot.</p>
<p><a href='http://groups.google.com/groups?selm=200405171926.41993.jquelin@mongueurs.net' target='_blank'>groups.google.com</a></p>
<a name='MMD and objects'></a><h2>MMD and objects</h2>
<p>Announcing that the basics of MMD are almost done, Dan moved to address
issues with objects and inherited methods. He outlined what needed to
be done and some of the choices that need to be made.</p>
<p><a href='http://groups.google.com/groups?selm=a06100500bcce66bf8fcd@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<a name='Bits and Pieces'></a><h2>Bits and Pieces</h2>
<p>Dan announced a few decisions that he'd made about various stuff.</p>
<p><a href='http://groups.google.com/groups?selm=a06100504bccee48acc22@' target='_blank'>groups.google.com</a>[10.0.1.3]</p>
<a name='Non-flow-control logical tests'></a><h2>Non-flow-control logical tests</h2>
<p>It turns out that Dan's work project would be a lot easier if Parrot
had logical test ops that simply returned 0 or 1 rather than jumping
off somewhere. He wondered if there was a real case for actually
implementing such things. The general response was favourable so he
checked in a new set of <code>isgt</code>, <code>iseq</code>, etc ops in
<b><i>experimental.ops</i></b>.</p>
<p><a href='http://groups.google.com/groups?selm=a06100500bcd27a671fbd@' target='_blank'>groups.google.com</a>[172.24.18.98]</p>
<a name='Embedding Parrot / mod_parrot'></a><h2>Embedding Parrot / mod_parrot</h2>
<p>Paul Querna is looking at writing mod_parrot for apache 2.0. He had
some questions about how to go about embedding parrot.</p>
<p><a href='http://groups.google.com/groups?selm=1085339196.6099.53.camel@localhost' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='C style conditional statements'></a><h2>C style conditional statements</h2>
<p>Pedro Larroy wondered if there was any chance that, in perl 6 it would
be possible to write conditional statements that looked like C type
<code>if</code> statements.</p>
<pre>    if (condition) 
      statement;</pre>
<p>The thread drew quite a lot of traffic, but the answer is that it's not
going to happen because it's incompatible with the new Perl 6 way of
not requiring parentheses around the condition. For some reason, the
thread evolved into the &quot;Perl 6 shouldn't be called Perl!&quot; thread. But
set against that, it did elicit the following from Larry:</p>
<pre>    Indentation is a wonderful form of commentary from programmer to
    programmer, but its symbology is largely wasted on the computer.  We
    don't tell poets how to format their poetry.</pre>
<p>Which certainly made me smile.</p>
<p><a href='http://groups.google.com/groups?selm=20040512000042.GC18109@larroy.com' target='_blank'>groups.google.com</a></p>
<a name='Yadda yadda yadda some more'></a><h2>Yadda yadda yadda some more</h2>
<p>Aaron Sherman is a big fan of <code>...</code>. Lots of folks seemed to like it
too, and the thread became something of a love in. Let's hear it for
yadda yadda yadda.</p>
<p><a href='http://groups.google.com/groups?selm=1084397404.13150.97.camel@pps' target='_blank'>groups.google.com</a></p>
<a name='RFC eq and =='></a><h2>RFC <code>eq</code> and <code>==</code></h2>
<p>It was Pedro Larroy's turn to ask if it'd be a good idea to make <code>==</code>
and friends polymorphic in order to get rid of <code>eq</code> etc. It was
Chromatic's turn to say that no, it's not a good idea, and haven't we
done this one countless times before? It was your summarizer's turn to
have had a foul couple of days before he finally knuckled down to
writing the summary.</p>
<p><a href='http://groups.google.com/groups?selm=20040517203509.GA18989@larroy.com' target='_blank'>groups.google.com</a></p>
<a name='Idiom for filling a counting hash'></a><h2>Idiom for filling a counting hash</h2>
<p>Stéphane Payrard wondered Perl 6 might have a neater way of populating
a counting hash than</p>
<pre>    $a{$_}++ for @a;</pre>
<p>He proposed some alternatives which (to my biased eyes at least) looked
rather more opaque than the straightforward Perl 5 idiom. John Williams
suggested that <code>%a{@a}»++</code> might fit the bill, but it seems that
<code>++«%a{@a}</code> is more likely to be the right thing.</p>
<p>I think this may be one of those Shibboleth things. If you like Perl 6,
then <code>++«%a{@a}</code> is the kind of thing that could well make you like it
more. If you don't like Perl 6, it's the kind of thing that makes you
double the length of the pole with which you will not touch the
language.</p>
<p><a href='http://groups.google.com/groups?selm=20040518211430.GD27986@stefp.dyndns.org' target='_blank'>groups.google.com</a></p>
<a name='Simon Cozens has RSI'></a><h2>Simon Cozens has RSI</h2>
<p>Simon Cozens' auto responder informed us all that he's suffering from
RSI. I'm sure I'm not alone in wishing him a speedy recovery (or at
least, that he finds some way of alleviating his problem).</p>
<a name='Announcements, Apologies, Acknowledgements'></a><h1>Announcements, Apologies, Acknowledgements</h1>
<p>Many apologies for the staggering lateness of this week's summary (at
least a week late). Hopefully I'll be back on track next week.</p>
<p>If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl. You might also like to send me feedback at
mailto:<a href='mailto:pdcawley@bofh.org.uk'>pdcawley@bofh.org.uk</a></p>
<p><a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> -- The Perl Foundation</p>
<p><a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> -- Perl 6 Development site</p>
</div>
